package com.cy.ppj.model.vo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.cy.ppj.comm.annotation.OssUrl;
import com.cy.ppj.model.enums.ApplyStatus;
import com.cy.ppj.model.enums.OrderRejectType;
import com.cy.ppj.model.enums.OrderStatus;
import com.cy.ppj.model.enums.RepayType;
import com.cy.ppj.model.enums.SignType;
import com.cy.ppj.model.enums.Process;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 订单详情页面展示字段
 * @author: tanyilin
 * @create: 2018年7月26日 下午8:17:02
 */
@Data
@OssUrl
@ApiModel("订单详情页面展示字段")
public class OrderDetailVO {

	@ApiModelProperty(value = "产品ID", example = "0")
	private Long productId;
	
	@ApiModelProperty(value = "产品名称")
	private String productName;
	
	@OssUrl
	@ApiModelProperty(value = "产品icon地址")
	private String iconPath;
	
	@ApiModelProperty(value = "借款金额", example = "0.00")
	private BigDecimal loanAmount; 
	
	@ApiModelProperty(value = "借款期限", example = "12")
	private Integer periods;
	
	@ApiModelProperty(value = "还款方式")
	private RepayType repayType;
	
	@ApiModelProperty(value = "代扣点数", example = "0.00")
	private BigDecimal withholdRate; 
	
	@ApiModelProperty(value = "佣金点数", example = "0.00")
	private BigDecimal commissionRate;
	
	@ApiModelProperty(value = "客户姓名")
	private String customerName;
	
	@ApiModelProperty(value = "客户身份证号码")
	private String customerIdNo;
	
	@ApiModelProperty(value = "客户手机号码")
	private String customerMobile;

	@ApiModelProperty(value = "签约类型")
	private SignType signType;
	
	@ApiModelProperty(value = "订单申请处理状态")
	private ApplyStatus applyStatus;
	
	@ApiModelProperty(value = "最后审核时间")
	private Date finalAuditTime;
	
	@ApiModelProperty(value = "当前审核状态")
	private OrderStatus orderStatus;
	
	@ApiModelProperty(value = "当前流程")
	private Process currentProcess;

	@ApiModelProperty(value = "审核记录")
	private List<OrderProcessVO> orderProcessList;
	
	@ApiModelProperty(value = "产品方地址")
    private String sourceUrl;
    
	@ApiModelProperty(value = "产品方登录说明页面地址")
    private String sourceLoginUrl;

	@ApiModelProperty(value = "经纪人奖励比例", example = "85")
	private BigDecimal brokerRate;

	@ApiModelProperty(value = "预计经纪人佣金", example = "100")
	private BigDecimal brokerCommission;
	
	@ApiModelProperty(value = "拒绝类型")
	private OrderRejectType rejectType;
	
	@ApiModelProperty(value = "拒绝类型文案")
	private String rejectTypeRemark;
	
	@ApiModelProperty(value = "拒绝原因")
	private String rejectReason;
	
	
}
